1. Field of the Invention
This invention relates generally to network communications, and more particularly, to a method of aging entries in an address table.
2. Discussion of the Related Art
In computer networks, a plurality of network stations are interconnected via a communications medium. For example, Ethernet is a commonly used local area network scheme in which multiple stations are connected to a single shared serial data path. The stations often communicate with a switch located between the shared data path and the stations connected to the path. Typically, the switch controls the communication of data packets on the network. The networks switch includes switching logic for receiving and forwarding frames to the appropriate destinations. One arrangement for generating a frame forwarding decision uses a direct addressing scheme, where the networks switch includes a fixed address table storing switching logic for the destination addresses.
A layer 3 switching/routing engine consists of a table that can store data entries each made up of a string of data including both a layer 2 address and a layer 3 address, the layer 2 address typically being a 48 bit MAC address and the layer 3 address typically being a 32 bit IP address. In addition to each data entry including a MAC address and an IP address by which such data entry can be addressed from upstream data entries, each data entry further includes a MAC next pointer and an IP next pointer each of which points to downstream data entries.
Typically, when a data entry has not been addressed for a chosen period of time, that entry is xe2x80x9cagedxe2x80x9d at the end of that period of time by changing an age bit from one value to another, upon which the data entry may be deleted. In the case where each data entry may be addressed by separate addresses, and where pointers may point from upstream data entries to a data entry and from that data entry to downstream data entries, a number of problems arise. For example, it must initially be insured that the data entry is properly xe2x80x9cagedxe2x80x9d, that is, it has not been addressed at either of its addresses for the specified time. In addition, the problem of properly directing the pointers to and from that address to be deleted must be dealt with, or the table can end up having broken, illegal and incorrect links, which will compromise the function of the table.
Therefore, what is needed is a method for aging a data entry in a table, which data entry includes multiple address by which it may be addressed, and multiple pointers thereto and therefrom from upstream and downstream data entries respectively, which takes place in a manner such that proper aging of that data entry is realized, and with the pointers being redirected in a manner which avoids broken, illegal or incorrect links within the table, so that the aged entry can be deleted without compromise of the function of the table.
The invention is for use with a table containing a plurality of data entries, each of the data entries made up of a string of data. Each string of data contains a first address addressable by a first pointer from an upstream data entry and a second address addressable by a second pointer from an upstream data entry. Each string of data further contains a third pointer for addressing the address of a downstream data entry and a fourth pointer for addressing the address of a downstream data entry. The invention is a method for use with the table, wherein it is detected, after a chosen interval of time, whether a specified data entry has been addressed at either of its addresses, and if it has not been so addressed, the first and second pointers to that specified data entry are redirected to the destinations of the third and fourth pointers respectively. That specified data entry may be deleted without compromise of the function of the table.
The present invention is better understood upon consideration of the detailed description below, in conjunction with the accompanying drawings. As will become readily apparent to those skilled in the art from the following description, there is shown and described an embodiment of this invention simply by way of the illustration of the best mode to carry out the invention. As will be realized, the invention is capable of other embodiments and its several details are capable of modifications and various obvious aspects, all without departing from the scope of the invention. Accordingly, the drawings and detailed description will be regarded as illustrative in nature and not as restrictive.